﻿using System;
using System.Collections.Generic;
using System.Collections;

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class pim_expediente : System.Web.UI.Page
{
    
    protected void Page_Load(object sender, EventArgs e)
    {
        int emp_id = 0;
        int id=0;

        llenopuesto();
        llenocontrato();

        if (!Page.IsPostBack) {
            if (Request.QueryString["emp_id"] != null) emp_id = int.Parse(Request.QueryString["emp_id"].ToString());
            if (Request.QueryString["id"] != null) id = int.Parse(Request.QueryString["id"].ToString());
            lb_emp_id.Text = emp_id.ToString();

            if (id!=0){
                RE_GenericBean exp = DB.getExpediente(id);

                ddl_jobtitle.SelectedValue=exp.intC3.ToString();
                ddl_empoyement.SelectedValue=exp.intC4.ToString();
                ddl_status.SelectedValue=exp.intC5.ToString();
                lb_emp_id.Text=exp.intC2.ToString();
                lb_id.Text=exp.intC1.ToString();
                tb_start_date.Text=exp.strC1;
                tb_end_date.Text=exp.strC2;
                tb_base.Text=exp.decC1.ToString();
                tb_bonus.Text=exp.decC2.ToString();
                tb_commision.Text=exp.decC3.ToString();
                tb_other.Text=exp.decC4.ToString();
                tb_severance.Text="";
                ddl_moneda.SelectedValue=exp.strC3;

                if (exp.intC1!=0) habilitocampos(false);

            }
        }
    }
    protected void Button7_Click(object sender, EventArgs e)
    {
        bool actualiza = false;
        RE_GenericBean exp = new RE_GenericBean();

        exp.intC1 = int.Parse(lb_id.Text);
        exp.intC2 = int.Parse(lb_emp_id.Text);
        exp.intC3 = int.Parse(ddl_jobtitle.SelectedValue);
        exp.intC4 = int.Parse(ddl_empoyement.SelectedValue);
        exp.intC5 = int.Parse(ddl_status.SelectedValue);
        exp.decC1 = decimal.Parse(tb_base.Text);
        exp.decC2 = decimal.Parse(tb_bonus.Text);
        exp.decC3 = decimal.Parse(tb_commision.Text);
        exp.decC4 = decimal.Parse(tb_other.Text);
        exp.strC1 = ddl_moneda.SelectedValue;
        exp.strC2 = tb_start_date.Text;

        if (exp.intC1 != 0) actualiza = true;

        if (DB.InsertaExpediente(exp,actualiza))
        {
            Response.Redirect("PersonalInfo.aspx?emp_id=" + lb_emp_id.Text + "&tabindex=3");
        }
    }
    protected void Button8_Click(object sender, EventArgs e)
    {
        habilitocampos(true);
    }

    private void llenopuesto() {
        ArrayList puestoarr = null;
        ListItem item = null;
        try
        {
            puestoarr = (ArrayList)DB.getArrPuestoEmpleado("");
            if (puestoarr != null && puestoarr.Count > 0)
            {
                foreach (RE_GenericBean puesto in puestoarr)
                {
                    item = new ListItem(puesto.strC1, puesto.intC1.ToString());
                    ddl_jobtitle.Items.Add(item);
                }
            }
        }
        catch (Exception err)
        {
            utility.log(err.StackTrace);
        }
    }

    private void llenocontrato()
    {
        ArrayList contratoarr = null;
        ListItem item = null;
        try
        {
            contratoarr = (ArrayList)DB.getArrTipoContrato("");
            if (contratoarr != null && contratoarr.Count > 0)
            {
                foreach (RE_GenericBean contrato in contratoarr)
                {
                    item = new ListItem(contrato.strC1, contrato.intC1.ToString());
                    ddl_empoyement.Items.Add(item);
                }
            }
        }
        catch (Exception err)
        {
            utility.log(err.StackTrace);
        }
    }

    private void habilitocampos(bool estado) {
        ddl_jobtitle.Enabled = estado;
        ddl_empoyement.Enabled = estado;
        ddl_status.Enabled = estado;
        tb_start_date.Enabled = estado;
        tb_end_date.Enabled = estado;
        tb_base.Enabled = estado;
        tb_bonus.Enabled = estado;
        tb_commision.Enabled = estado;
        tb_other.Enabled = estado;
        tb_severance.Enabled = estado;
        ddl_moneda.Enabled = estado;
    }
}